'use strict';
angular.module('clientApp')
.directive('rechercherhotel', function(hotelAPI, ngToast) {
    return {
        restrict : 'E',
        scope : {
        	data : '=',
            selected : '=',
            rafraichirRecherche : '='
        },
        link : function($scope) {        	
        	$scope.chargerData = function() {
        		$scope.data = [];
        		
        		hotelAPI.list()
            	.success(function(data) {
            		$scope.data = data;
            	})
            	.error(function() {
    				ngToast.create({
    					content: 'Erreur de communication avec le serveur',
    					className: 'danger'
    				});
    			});
        	};
        	$scope.chargerData();
        	
        	$scope.select = function(v) {
        		if (v === $scope.selected) {
        			$scope.selected = null;
        		} else {
        			$scope.selected = v;
        		}
        	};
        	
        	$scope.$watch('rafraichirRecherche', function() {
        		if ($scope.rafraichirRecherche) {
        			$scope.selected = null;
        			$scope.chargerData();
        			$scope.rafraichirRecherche = false;
        		}
        	});
        },
        templateUrl : 'views/directiveRechercheHotel.html',
        replace : true
    };
});
